package vip.xiaonuo.supplier.modular.finance.settlementproject.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.supplier.modular.finance.settlementproject.entity.SupplierSettlementProject;
import vip.xiaonuo.supplier.modular.finance.settlementproject.param.SupplierSettlementProjectAddParam;
import vip.xiaonuo.supplier.modular.finance.settlementproject.param.SupplierSettlementProjectEditParam;
import vip.xiaonuo.supplier.modular.finance.settlementproject.param.SupplierSettlementProjectIdParam;
import vip.xiaonuo.supplier.modular.finance.settlementproject.param.SupplierSettlementProjectPageParam;

import java.util.List;

/**
 * 结算项目Service接口
 *
 * @author Mr.wu
 * @date  2025/04/10 09:59
 **/
public interface SupplierSettlementProjectService extends IService<SupplierSettlementProject> {

    /**
     * 获取结算项目分页
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     */
    Page<SupplierSettlementProject> page(SupplierSettlementProjectPageParam supplierSettlementProjectPageParam);

    /**
     * 添加结算项目
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     */
    void add(SupplierSettlementProjectAddParam supplierSettlementProjectAddParam);

    /**
     * 编辑结算项目
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     */
    void edit(SupplierSettlementProjectEditParam supplierSettlementProjectEditParam);

    /**
     * 删除结算项目
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     */
    void delete(List<SupplierSettlementProjectIdParam> supplierSettlementProjectIdParamList);

    /**
     * 获取结算项目详情
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     */
    SupplierSettlementProject detail(SupplierSettlementProjectIdParam supplierSettlementProjectIdParam);

    /**
     * 获取结算项目详情
     *
     * @author Mr.wu
     * @date  2025/04/10 09:59
     **/
    SupplierSettlementProject queryEntity(String id);
}
